package me.thonk.croptopia.registry;

import me.thonk.common.ItemNames;
import me.thonk.croptopia.items.*;
import net.minecraft.world.item.BowlFoodItem;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemNameBlockItem;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.SuspiciousStewItem;
import net.minecraft.world.level.block.Blocks;
import net.minecraftforge.event.RegistryEvent;

import static me.thonk.common.ItemNames.*;
import static me.thonk.croptopia.CroptopiaForge.*;
import static me.thonk.croptopia.registry.FoodRegistry.*;
import static net.minecraft.world.level.biome.Biome.BiomeCategory.*;

public class ItemRegistry {
    // Fruits & Vegetables // cropitem
    public static Item artichoke;
    public static Item asparagus;
    public static Item barley;
    public static Item bellPepper;
    public static Item blackBean;
    public static Item blackberry;
    public static Item blueberry;
    public static Item broccoli;
    public static Item cabbage;
    public static Item cantaloupe;
    public static Item cauliflower;
    public static Item celery;
    public static Item coffeeBeans;
    public static Item corn;
    public static Item cranberry;
    public static Item cucumber;
    public static Item currant;
    public static Item eggplant;
    public static Item elderberry;
    public static Item garlic;
    public static Item grape;
    public static Item greenBean;
    public static Item greenOnion;
    public static Item honeydew;
    public static Item hops;
    public static Item kale;
    public static Item kiwi;
    public static Item leek;
    public static Item lettuce;
    public static Item oat;
    public static Item olive;
    public static Item onion;
    public static Item peanut;
    public static Item pineapple;
    public static Item radish;
    public static Item raspberry;
    public static Item rhubarb;
    public static Item rice;
    public static Item rutabaga;
    public static Item saguaro;
    public static Item soybean;
    public static Item spinach;
    public static Item squash;
    public static Item strawberry;
    public static Item sweetPotato;
    public static Item tomatillo;
    public static Item tomato;
    public static Item turnip;
    public static Item yam;
    public static Item zucchini;

    // Trees
    public static Item orange;
    public static Item banana;
    public static Item persimmon;
    public static Item plum;
    public static Item cherry;
    public static Item lemon;
    public static Item grapefruit;
    public static Item kumquat;
    public static Item peach;
    public static Item coconut;
    public static Item nutmeg;
    public static Item fig;
    public static Item nectarine;
    public static Item mango;
    public static Item dragonFruit;
    public static Item starFruit;
    public static Item avocado;
    public static Item apricot;
    public static Item pear;
    public static Item lime;
    public static Item date;
    public static Item almond;
    public static Item cashew;
    public static Item pecan;
    public static Item walnut;

    // Spices
    public static Item mustard;
    public static Item vanilla;
    public static Item paprika;
    public static Item chilePepper;
    public static Item salt;
    public static Item turmeric;
    public static Item ginger;
    // Herbs
    public static Item basil;


    public static Item artichokeSeed;
    public static Item asparagusSeed;
    public static Item bellPepperSeed;
    public static Item blackBeanSeed;
    public static Item blackberrySeed;
    public static Item blueberrySeed;
    public static Item broccoliSeed;
    public static Item cabbageSeed;
    public static Item cantaloupeSeed;
    public static Item cauliflowerSeed;
    public static Item celerySeed;
    public static Item coffeeSeed;
    public static Item cornSeed;
    public static Item cranberrySeed;
    public static Item cucumberSeed;
    public static Item currantSeed;
    public static Item eggplantSeed;
    public static Item elderberrySeed;
    public static Item garlicSeed;
    public static Item grapeSeed;
    public static Item greenBeanSeed;
    public static Item greenOnionSeed;
    public static Item honeydewSeed;
    public static Item hopsSeed;
    public static Item kaleSeed;
    public static Item kiwiSeed;
    public static Item leekSeed;
    public static Item lettuceSeed;
    public static Item oliveSeed;
    public static Item onionSeed;
    public static Item peanutSeed;
    public static Item pineappleSeed;
    public static Item radishSeed;
    public static Item raspberrySeed;
    public static Item rhubarbSeed;
    public static Item riceSeed;
    public static Item rutabagaSeed;
    public static Item saguaroSeed;
    public static Item spinachSeed;
    public static Item squashSeed;
    public static Item strawberrySeed;
    public static Item sweetPotatoSeed;
    public static Item tomatilloSeed;
    public static Item tomatoSeed;
    public static Item turnipSeed;
    public static Item yamSeed;
    public static Item zucchiniSeed;
    public static Item mustardSeed;
    public static Item chilePepperSeed;
    public static Item turmericSeed;
    public static Item gingerSeed;
    public static Item basilSeed;
    public static Item oatSeed;
    public static Item barleySeed;
    public static Item soybeanSeed;
    public static Item vanillaSeed;



    public static Item appleSapling;
    public static Item bananaSapling;
    public static Item orangeSapling;
    public static Item persimmonSapling;
    public static Item plumSapling;
    public static Item cherrySapling;
    public static Item lemonSapling;
    public static Item grapefruitSapling;
    public static Item kumquatSapling;
    public static Item peachSapling;
    public static Item coconutSapling;
    public static Item nutmegSapling;
    public static Item figSapling;
    public static Item nectarineSapling;
    public static Item mangoSapling;
    public static Item dragonFruitSapling;
    public static Item starFruitSapling;
    public static Item avocadoSapling;
    public static Item apricotSapling;
    public static Item pearSapling;
    public static Item limeSapling;
    public static Item dateSapling;
    public static Item almondSapling;
    public static Item cashewSapling;
    public static Item pecanSapling;
    public static Item walnutSapling;

    // secondary ingredients?
    public static Item oliveOil;
    public static Item cheese;
    public static Item flour;
    public static Item butter;
    public static Item noodle;
    public static Item tofu;
    public static Item molasses;
    public static Item caramel;
    public static Item chocolate;
    public static Item tortilla;
    public static Item soySauce;
    public static Item dough;
    public static Item ravioli;
    public static Item salsa;
    public static Item artichokeDip;
    public static Item pepperoni;

    // drinks
    public static Item grapeJuice;
    public static Item orangeJuice;
    public static Item appleJuice;
    public static Item cranberryJuice;
    public static Item saguaroJuice;
    public static Item tomatoJuice;
    public static Item melonJuice;
    public static Item pineappleJuice;
    public static Item coffee;
    public static Item lemonade;
    public static Item limeade;
    public static Item soyMilk;
    //public static Item tea;

    public static Item strawberrySmoothie;
    public static Item bananaSmoothie;
    public static Item kaleSmoothie;
    public static Item fruitSmoothie;

    public static Item chocolateMilkshake;

    public static Item beer;
    public static Item wine;
    public static Item mead;
    public static Item rum;
    public static Item pumpkinSpiceLatte;

    // jams
    public static Item grapeJam;
    public static Item strawberryJam;
    public static Item peachJam;
    public static Item apricotJam;
    public static Item blackberryJam;
    public static Item blueberryJam;
    public static Item cherryJam;
    public static Item elderberryJam;
    public static Item raspberryJam;

    // snacks?
    public static Item beefJerky;
    public static Item porkJerky;
    public static Item kaleChips;
    public static Item potatoChips;
    public static Item steamedRice;
    public static Item frenchFries;
    public static Item sweetPotatoFries;
    public static Item onionRings;
    public static Item raisins;
    public static Item doughnut;
    public static Item popcorn;
    public static Item bakedBeans;
    public static Item toast;
    public static Item cucumberSalad;
    public static Item caesarSalad;
    public static Item leafySalad;
    public static Item fruitSalad;
    public static Item veggieSalad;
    public static Item porkAndBeans;
    public static Item oatmeal;
    public static Item leekSoup;
    public static Item yoghurt;
    public static Item saucyChips;
    public static Item roastedNuts;
    public static Item trailMix;
    public static Item proteinBar;
    public static Item nougat;

    // breakfast
    public static Item scrambledEggs;
    public static Item butteredToast;
    public static Item toastWithJam;


    // meals
    public static Item hamSandwich;
    public static Item peanutButterAndJam;
    public static Item BLT;
    public static Item grilledCheese;
    public static Item tunaSandwich;
    public static Item cheeseburger;
    public static Item hamburger;
    public static Item tofuBurger;
    public static Item pizza;
    public static Item supremePizza;
    public static Item cheesePizza;
    public static Item pineapplePepperoniPizza;
    public static Item lemonChicken;
    public static Item friedChicken;
    public static Item chickenAndNoodles;
    public static Item chickenAndDumplings;
    public static Item tofuAndDumplings;
    public static Item spaghettiSquash;
    public static Item chickenAndRice;
    public static Item taco;
    public static Item sushi;
    public static Item eggRoll;
    public static Item cashewChicken;

    // desert block?
    public static Item coffeeCake;
    public static Item chocolateCake;
    //public static Item fruitCake;
    public static Item strawberryShortCake;
    public static Item carrotCake;
    public static Item turtleCake;

    // desert item
    public static Item applePie;
    public static Item yamJam;
    public static Item bananaCreamPie;
    public static Item candyCorn;
    public static Item vanillaIceCream;
    public static Item strawberryIceCream;
    public static Item mangoIceCream;
    public static Item rumRaisinIceCream;
    public static Item pecanIceCream;
    public static Item cherryPie;
    public static Item cheeseCake;
    public static Item brownies;
    public static Item snickerDoodle;
    public static Item bananaNutBread;
    public static Item pecanPie;
    public static Item candiedNuts;
    public static Item almondBrittle;
    public static Item oatmealCookie;
    public static Item nuttyCookie;
    public static Item praline;

    public static Item burrito;
    public static Item tostada;
    public static Item horchata;
    public static Item carnitas;
    public static Item fajitas;
    public static Item enchilada;
    public static Item churros;
    public static Item tamales;
    public static Item tresLecheCake;
    public static Item stuffedPoblanos;
    public static Item chiliRelleno;
    public static Item crema;
    public static Item refriedBeans;
    public static Item chimichanga;
    public static Item quesadilla;

    public static Item cinnamon;
    public static Item cornHusk;
    public static Item whippingCream;
    public static Item pepper;
    public static Item vanillaSeeds;

    public static Item cinnamonSapling;
    public static Item cinnamonLog;
    public static Item strippedCinnamonLog;
    public static Item cinnamonWood;
    public static Item strippedCinnamonWood;

    // 1.4.0
    public static Item shepherdsPie;
    public static Item beefWellington;
    public static Item fishAndChips;
    public static Item etonMess;
    public static Item tea;
    public static Item cornishPasty;
    public static Item scones;
    public static Item figgyPudding;
    public static Item treacleTart;
    public static Item stickyToffeePudding;
    public static Item trifle;
    public static Item pepperSeed;
    public static Item waterBottle;
    public static Item milkBottle;
    public static Item teaLeaves;
    public static Item teaSeed;

    // 1.7.0
    public static Item ajvar;
    public static Item ajvarToast;
    public static Item avocadoToast;
    public static Item bakedSweetPotato;
    public static Item bakedYam;
    public static Item beefStew;
    public static Item beefStirFry;
    public static Item butteredGreenBeans;
    public static Item cheesyAsparagus;
    public static Item chocolateIceCream;
    public static Item cookedBacon;
    public static Item eggplantParmesan;
    public static Item fruitCake;
    public static Item grilledEggplant;
    public static Item kiwiSorbet;
    public static Item knife;
    public static Item lemonCoconutBar;
    public static Item netherWartStew;
    public static Item peanutButter;
    public static Item peanutButterWCelery;
    public static Item potatoSoup;
    public static Item ratatouille;
    public static Item rawBacon;
    public static Item rhubarbCrisp;
    public static Item roastedAsparagus;
    public static Item roastedRadishes;
    public static Item roastedSquash;
    public static Item roastedTurnips;
    public static Item steamedBroccoli;
    public static Item steamedGreenBeans;
    public static Item stirFry;
    public static Item stuffedArtichoke;
    public static Item toastSandwich;

    // cooking utensils?
    public static Item foodPress;
    public static Item fryingPan;
    public static Item cookingPot;
    public static Item mortarAndPestle;

    public static Item saltOre;


    public static Item guide;


    public static void init(RegistryEvent.Register<Item> itemRegister) {
        guide = registerItem(itemRegister, GUIDE, new GuideBookItem(createGroup()));

        artichoke = registerItem(itemRegister, ARTICHOKE, new CropItem(createGroup().food(EDIBLE_1)));
        asparagus = registerItem(itemRegister, ASPARAGUS, new CropItem(createGroup().food(EDIBLE_3)));
        barley = registerItem(itemRegister, BARLEY, new CropItem(createGroup().food(EDIBLE_1)));
        bellPepper = registerItem(itemRegister, BELLPEPPER, new CropItem(createGroup().food(EDIBLE_3)));
        blackBean = registerItem(itemRegister, BLACKBEAN, new CropItem(createGroup().food(EDIBLE_3)));
        blackberry = registerItem(itemRegister, BLACKBERRY, new CropItem(createGroup().food(EDIBLE_3)));
        blueberry = registerItem(itemRegister, BLUEBERRY, new CropItem(createGroup().food(EDIBLE_3)));
        broccoli = registerItem(itemRegister, BROCCOLI, new CropItem(createGroup().food(EDIBLE_3)));
        cabbage = registerItem(itemRegister, CABBAGE, new CropItem(createGroup().food(EDIBLE_1)));
        cantaloupe = registerItem(itemRegister, CANTALOUPE, new CropItem(createGroup().food(EDIBLE_3)));
        cauliflower = registerItem(itemRegister, CAULIFLOWER, new CropItem(createGroup().food(EDIBLE_3)));
        celery = registerItem(itemRegister, CELERY, new CropItem(createGroup().food(EDIBLE_3)));
        coffeeBeans = registerItem(itemRegister, COFFEE_BEANS, new CropItem(createGroup().food(EDIBLE_3)));
        corn = registerItem(itemRegister, CORN, new CropItem(createGroup().food(EDIBLE_3)));
        cranberry = registerItem(itemRegister, CRANBERRY, new CropItem(createGroup().food(EDIBLE_3)));
        cucumber = registerItem(itemRegister, CUCUMBER, new CropItem(createGroup().food(EDIBLE_3)));
        currant = registerItem(itemRegister, CURRANT, new CropItem(createGroup().food(EDIBLE_3)));
        eggplant = registerItem(itemRegister, EGGPLANT, new CropItem(createGroup().food(EDIBLE_3)));
        elderberry = registerItem(itemRegister, ELDERBERRY, new CropItem(createGroup().food(EDIBLE_3)));
        garlic = registerItem(itemRegister, GARLIC, new CropItem(createGroup().food(EDIBLE_1)));
        grape = registerItem(itemRegister, GRAPE, new CropItem(createGroup().food(EDIBLE_3)));
        greenBean = registerItem(itemRegister, GREENBEAN, new CropItem(createGroup().food(EDIBLE_3)));
        greenOnion = registerItem(itemRegister, GREENONION, new CropItem(createGroup().food(EDIBLE_1)));
        honeydew = registerItem(itemRegister, HONEYDEW, new CropItem(createGroup().food(EDIBLE_3)));
        hops = registerItem(itemRegister, HOPS, new Item(createGroup()));
        kale = registerItem(itemRegister, KALE, new CropItem(createGroup().food(EDIBLE_3)));
        kiwi = registerItem(itemRegister, KIWI, new CropItem(createGroup().food(EDIBLE_3)));
        leek = registerItem(itemRegister, LEEK, new CropItem(createGroup().food(EDIBLE_3)));
        lettuce = registerItem(itemRegister, LETTUCE, new CropItem(createGroup().food(EDIBLE_3)));
        oat = registerItem(itemRegister, OAT, new CropItem(createGroup().food(EDIBLE_1)));
        olive = registerItem(itemRegister, OLIVE, new CropItem(createGroup().food(EDIBLE_3)));
        onion = registerItem(itemRegister, ONION, new CropItem(createGroup().food(EDIBLE_3)));
        peanut = registerItem(itemRegister, PEANUT, new CropItem(createGroup().food(EDIBLE_1)));
        pineapple = registerItem(itemRegister, PINEAPPLE, new CropItem(createGroup().food(EDIBLE_3)));
        radish = registerItem(itemRegister, RADISH, new CropItem(createGroup().food(EDIBLE_3)));
        raspberry = registerItem(itemRegister, RASPBERRY, new CropItem(createGroup().food(EDIBLE_3)));
        rhubarb = registerItem(itemRegister, RHUBARB, new CropItem(createGroup().food(EDIBLE_3)));
        rice = registerItem(itemRegister, RICE, new CropItem(createGroup().food(EDIBLE_1)));
        rutabaga = registerItem(itemRegister, RUTABAGA, new CropItem(createGroup().food(EDIBLE_3)));
        saguaro = registerItem(itemRegister, SAGUARO, new CropItem(createGroup().food(EDIBLE_3)));
        soybean = registerItem(itemRegister, SOYBEAN, new CropItem(createGroup().food(EDIBLE_1)));
        spinach = registerItem(itemRegister, SPINACH, new CropItem(createGroup().food(EDIBLE_3)));
        squash = registerItem(itemRegister, SQUASH, new CropItem(createGroup().food(EDIBLE_3)));
        strawberry = registerItem(itemRegister, STRAWBERRY, new CropItem(createGroup().food(EDIBLE_3)));
        sweetPotato = registerItem(itemRegister, SWEETPOTATO, new CropItem(createGroup().food(EDIBLE_3)));
        tomatillo = registerItem(itemRegister, TOMATILLO, new CropItem(createGroup().food(EDIBLE_3)));
        tomato = registerItem(itemRegister, TOMATO, new CropItem(createGroup().food(EDIBLE_3)));
        turnip = registerItem(itemRegister, TURNIP, new CropItem(createGroup().food(EDIBLE_3)));
        yam = registerItem(itemRegister, YAM, new CropItem(createGroup().food(EDIBLE_3)));
        zucchini = registerItem(itemRegister, ZUCCHINI, new CropItem(createGroup().food(EDIBLE_3)));

        orange = registerItem(itemRegister, ORANGE, new CropItem(createGroup().food(EDIBLE_3)));
        banana = registerItem(itemRegister, BANANA, new CropItem(createGroup().food(EDIBLE_3)));
        persimmon = registerItem(itemRegister, PERSIMMON, new CropItem(createGroup().food(EDIBLE_3)));
        plum = registerItem(itemRegister, PLUM, new CropItem(createGroup().food(EDIBLE_3)));
        cherry = registerItem(itemRegister, CHERRY, new CropItem(createGroup().food(EDIBLE_3)));
        lemon = registerItem(itemRegister, LEMON, new CropItem(createGroup().food(EDIBLE_3)));
        grapefruit = registerItem(itemRegister, GRAPEFRUIT, new CropItem(createGroup().food(EDIBLE_3)));
        kumquat = registerItem(itemRegister, KUMQUAT, new CropItem(createGroup().food(EDIBLE_3)));
        peach = registerItem(itemRegister, PEACH, new CropItem(createGroup().food(EDIBLE_3)));
        coconut = registerItem(itemRegister, COCONUT, new CropItem(createGroup().food(EDIBLE_1)));
        nutmeg = registerItem(itemRegister, NUTMEG, new CropItem(createGroup().food(EDIBLE_1)));
        fig = registerItem(itemRegister, FIG, new CropItem(createGroup().food(EDIBLE_3)));
        nectarine = registerItem(itemRegister, NECTARINE, new CropItem(createGroup().food(EDIBLE_3)));
        mango = registerItem(itemRegister, MANGO, new CropItem(createGroup().food(EDIBLE_3)));
        dragonFruit = registerItem(itemRegister, DRAGONFRUIT, new CropItem(createGroup().food(EDIBLE_3)));
        starFruit = registerItem(itemRegister, STARFRUIT, new CropItem(createGroup().food(EDIBLE_3)));
        avocado = registerItem(itemRegister, AVOCADO, new CropItem(createGroup().food(EDIBLE_3)));
        apricot = registerItem(itemRegister, APRICOT, new CropItem(createGroup().food(EDIBLE_3)));
        pear = registerItem(itemRegister, PEAR, new CropItem(createGroup().food(EDIBLE_3)));
        lime = registerItem(itemRegister, LIME, new CropItem(createGroup().food(EDIBLE_3)));
        date = registerItem(itemRegister, DATE, new CropItem(createGroup().food(EDIBLE_3)));
        almond = registerItem(itemRegister, ALMOND, new CropItem(createGroup().food(EDIBLE_3)));
        cashew = registerItem(itemRegister, CASHEW, new CropItem(createGroup().food(EDIBLE_1)));
        pecan = registerItem(itemRegister, PECAN, new CropItem(createGroup().food(EDIBLE_3)));
        walnut = registerItem(itemRegister, WALNUT, new CropItem(createGroup().food(EDIBLE_3)));

        mustard = registerItem(itemRegister, MUSTARD, new Item(createGroup()));
        vanilla = registerItem(itemRegister, VANILLA, new Item(createGroup()));
        paprika = registerItem(itemRegister, PAPRIKA, new Item(createGroup())); // TODO need recipe to make paprika in future update
        chilePepper = registerItem(itemRegister, CHILE_PEPPER, new Item(createGroup()));
        salt = registerItem(itemRegister, SALT, new Item(createGroup()));
        turmeric = registerItem(itemRegister, TURMERIC, new Item(createGroup()));
        ginger = registerItem(itemRegister, GINGER, new Item(createGroup()));
        basil = registerItem(itemRegister, BASIL, new Item(createGroup().food(EDIBLE_1)));

        artichokeSeed = registerItem(itemRegister, ARTICHOKE_SEED, new SeedItem(BlockRegistry.artichokeCropBlock, createGroup(), SWAMP));
        asparagusSeed = registerItem(itemRegister, ASPARAGUS_SEED, new SeedItem(BlockRegistry.asparagusCropBlock, createGroup(), SWAMP));
        bellPepperSeed = registerItem(itemRegister, BELLPEPPER_SEED, new SeedItem(BlockRegistry.bellPepperCropBlock, createGroup(), PLAINS));
        blackBeanSeed = registerItem(itemRegister, BLACKBEAN_SEED, new SeedItem(BlockRegistry.blackBeanCropBlock, createGroup(), FOREST));
        blackberrySeed = registerItem(itemRegister, BLACKBERRY_SEED, new SeedItem(BlockRegistry.blackberryCropBlock, createGroup(), FOREST));
        blueberrySeed = registerItem(itemRegister, BLUEBERRY_SEED, new SeedItem(BlockRegistry.blueberryCropBlock, createGroup(), FOREST));
        broccoliSeed = registerItem(itemRegister, BROCCOLI_SEED, new SeedItem(BlockRegistry.broccoliCropBlock, createGroup(), PLAINS));
        cabbageSeed = registerItem(itemRegister, CABBAGE_SEED, new SeedItem(BlockRegistry.cabbageCropBlock, createGroup(), PLAINS));
        cantaloupeSeed = registerItem(itemRegister, CANTALOUPE_SEED, new SeedItem(BlockRegistry.cantaloupeCropBlock, createGroup(), FOREST));
        cauliflowerSeed = registerItem(itemRegister, CAULIFLOWER_SEED, new SeedItem(BlockRegistry.cauliflowerCropBlock, createGroup(), FOREST));
        celerySeed = registerItem(itemRegister, CELERY_SEED, new SeedItem(BlockRegistry.celeryCropBlock, createGroup(), FOREST));
        coffeeSeed = registerItem(itemRegister, COFFEE_SEED, new SeedItem(BlockRegistry.coffeeCropBlock, createGroup(), JUNGLE));
        cornSeed = registerItem(itemRegister, CORN_SEED, new SeedItem(BlockRegistry.cornCropBlock, createGroup(), PLAINS));
        cranberrySeed = registerItem(itemRegister, CRANBERRY_SEED, new SeedItem(BlockRegistry.cranberryCropBlock, createGroup(), SWAMP));
        cucumberSeed = registerItem(itemRegister, CUCUMBER_SEED, new SeedItem(BlockRegistry.cucumberCropBlock, createGroup(), PLAINS));
        currantSeed = registerItem(itemRegister, CURRANT_SEED, new SeedItem(BlockRegistry.currantCropBlock, createGroup(), SWAMP));
        eggplantSeed = registerItem(itemRegister, EGGPLANT_SEED, new SeedItem(BlockRegistry.eggplantCropBlock, createGroup(), JUNGLE));
        elderberrySeed = registerItem(itemRegister, ELDERBERRY_SEED, new SeedItem(BlockRegistry.elderberryCropBlock, createGroup(), FOREST));
        garlicSeed = registerItem(itemRegister, GARLIC_SEED, new SeedItem(BlockRegistry.garlicCropBlock, createGroup(), JUNGLE));
        grapeSeed = registerItem(itemRegister, GRAPE_SEED, new SeedItem(BlockRegistry.grapeCropBlock, createGroup(), FOREST));
        greenBeanSeed = registerItem(itemRegister, GREENBEAN_SEED, new SeedItem(BlockRegistry.greenBeanCropBlock, createGroup(), PLAINS));
        greenOnionSeed = registerItem(itemRegister, GREENONION_SEED, new SeedItem(BlockRegistry.greenOnionCropBlock, createGroup(), JUNGLE));
        honeydewSeed = registerItem(itemRegister, HONEYDEW_SEED,new SeedItem(BlockRegistry.honeydewCropBlock, createGroup(), JUNGLE));
        hopsSeed = registerItem(itemRegister, HOPS_SEED, new SeedItem(BlockRegistry.hopsCropBlock, createGroup(), SAVANNA));
        kaleSeed = registerItem(itemRegister, KALE_SEED, new SeedItem(BlockRegistry.kaleCropBlock, createGroup(), PLAINS));
        kiwiSeed = registerItem(itemRegister, KIWI_SEED, new SeedItem(BlockRegistry.kiwiCropBlock, createGroup(), SAVANNA));
        leekSeed = registerItem(itemRegister, LEEK_SEED, new SeedItem(BlockRegistry.leekCropBlock, createGroup(), SAVANNA));
        lettuceSeed = registerItem(itemRegister, LETTUCE_SEED,new SeedItem(BlockRegistry.lettuceCropBlock, createGroup(), PLAINS));
        oliveSeed = registerItem(itemRegister, OLIVE_SEED, new SeedItem(BlockRegistry.oliveCropBlock, createGroup(), SAVANNA));
        onionSeed = registerItem(itemRegister, ONION_SEED, new SeedItem(BlockRegistry.onionCropBlock, createGroup(), JUNGLE));
        peanutSeed = registerItem(itemRegister, PEANUT_SEED, new SeedItem(BlockRegistry.peanutCropBlock, createGroup(), JUNGLE));
        pineappleSeed = registerItem(itemRegister, PINEAPPLE_SEED, new SeedItem(BlockRegistry.pineappleCropBlock, createGroup(), JUNGLE));
        radishSeed = registerItem(itemRegister, RADISH_SEED, new SeedItem(BlockRegistry.radishCropBlock, createGroup(), FOREST));
        raspberrySeed = registerItem(itemRegister, RASPBERRY_SEED, new SeedItem(BlockRegistry.raspberryCropBlock, createGroup(), FOREST));
        rhubarbSeed = registerItem(itemRegister, RHUBARB_SEED, new SeedItem(BlockRegistry.rhubarbCropBlock, createGroup(), JUNGLE));
        riceSeed = registerItem(itemRegister, RICE_SEED, new SeedItem(BlockRegistry.riceCropBlock, createGroup(), JUNGLE));
        rutabagaSeed = registerItem(itemRegister, RUTABAGA_SEED, new SeedItem(BlockRegistry.rutabagaCropBlock, createGroup(), SAVANNA));
        saguaroSeed = registerItem(itemRegister, SAGUARO_SEED, new SeedItem(BlockRegistry.saguaroCropBlock, createGroup(), DESERT));
        spinachSeed = registerItem(itemRegister, SPINACH_SEED, new SeedItem(BlockRegistry.spinachCropBlock, createGroup(), FOREST));
        squashSeed = registerItem(itemRegister, SQUASH_SEED, new SeedItem(BlockRegistry.squashCropBlock, createGroup(), SAVANNA));
        strawberrySeed = registerItem(itemRegister, STRAWBERRY_SEED, new SeedItem(BlockRegistry.strawberryCropBlock, createGroup(), FOREST));
        sweetPotatoSeed = registerItem(itemRegister, SWEETPOTATO_SEED, new SeedItem(BlockRegistry.sweetPotatoCropBlock, createGroup(), PLAINS));
        tomatilloSeed = registerItem(itemRegister, TOMATILLO_SEED, new SeedItem(BlockRegistry.tomatilloCropBlock, createGroup(), FOREST));
        tomatoSeed = registerItem(itemRegister, TOMATO_SEED, new SeedItem(BlockRegistry.tomatoCropBlock, createGroup(), FOREST));
        turnipSeed = registerItem(itemRegister, TURNIP_SEED, new SeedItem(BlockRegistry.turnipCropBlock, createGroup(), JUNGLE));
        yamSeed = registerItem(itemRegister, YAM_SEED, new SeedItem(BlockRegistry.yamCropBlock, createGroup(), SAVANNA));
        zucchiniSeed = registerItem(itemRegister, ZUCCHINI_SEED, new SeedItem(BlockRegistry.zucchiniCropBlock, createGroup(), SAVANNA));
        mustardSeed = registerItem(itemRegister, MUSTARD_SEED, new SeedItem(BlockRegistry.mustardCropBlock, createGroup(), PLAINS));
        chilePepperSeed = registerItem(itemRegister, CHILE_PEPPER_SEED, new SeedItem(BlockRegistry.chilePepperCropBlock, createGroup(), PLAINS));
        turmericSeed = registerItem(itemRegister, TURMERIC_SEED, new SeedItem(BlockRegistry.turmericCropBlock, createGroup(), SAVANNA));
        gingerSeed = registerItem(itemRegister, GINGER_SEED, new SeedItem(BlockRegistry.gingerCropBlock, createGroup(), SAVANNA));
        basilSeed = registerItem(itemRegister, BASIL_SEED, new SeedItem(BlockRegistry.basilCropBlock, createGroup(), JUNGLE));
        oatSeed = registerItem(itemRegister, OAT_SEED, new SeedItem(BlockRegistry.oatCropBlock, createGroup(), PLAINS));
        barleySeed = registerItem(itemRegister, BARLEY_SEED, new SeedItem(BlockRegistry.barleyCropBlock, createGroup(), PLAINS));
        soybeanSeed = registerItem(itemRegister, SOYBEAN_SEED, new SeedItem(BlockRegistry.soybeanCropBlock, createGroup(), PLAINS));

        appleSapling = registerItem(itemRegister, APPLE_SAPLING, new CroptopiaSaplingItem(BlockRegistry.appleSaplingBlock, LeavesRegistry.appleCrop, Blocks.OAK_LEAVES, createGroup()));
        bananaSapling = registerItem(itemRegister, BANANA_SAPLING, new CroptopiaSaplingItem(BlockRegistry.bananaSaplingBlock, LeavesRegistry.bananaCrop, Blocks.JUNGLE_LEAVES, createGroup()));
        orangeSapling = registerItem(itemRegister, ORANGE_SAPLING, new CroptopiaSaplingItem(BlockRegistry.orangeSaplingBlock, LeavesRegistry.orangeCrop, Blocks.OAK_LEAVES, createGroup()));
        persimmonSapling = registerItem(itemRegister, PERSIMMON_SAPLING, new CroptopiaSaplingItem(BlockRegistry.persimmonSaplingBlock, LeavesRegistry.persimmonCrop, Blocks.OAK_LEAVES, createGroup()));
        plumSapling = registerItem(itemRegister, PLUM_SAPLING, new CroptopiaSaplingItem(BlockRegistry.plumSaplingBlock, LeavesRegistry.plumCrop, Blocks.OAK_LEAVES, createGroup()));
        cherrySapling = registerItem(itemRegister, CHERRY_SAPLING, new CroptopiaSaplingItem(BlockRegistry.cherrySaplingBlock, LeavesRegistry.cherryCrop, Blocks.OAK_LEAVES, createGroup()));
        lemonSapling = registerItem(itemRegister, LEMON_SAPLING, new CroptopiaSaplingItem(BlockRegistry.lemonSaplingBlock, LeavesRegistry.lemonCrop, Blocks.OAK_LEAVES, createGroup()));
        grapefruitSapling = registerItem(itemRegister, GRAPEFRUIT_SAPLING, new CroptopiaSaplingItem(BlockRegistry.grapefruitSaplingBlock, LeavesRegistry.grapefruitCrop, Blocks.JUNGLE_LEAVES, createGroup()));
        kumquatSapling = registerItem(itemRegister, KUMQUAT_SAPLING, new CroptopiaSaplingItem(BlockRegistry.kumquatSaplingBlock, LeavesRegistry.kumquatCrop, Blocks.JUNGLE_LEAVES, createGroup()));
        peachSapling = registerItem(itemRegister, PEACH_SAPLING, new CroptopiaSaplingItem(BlockRegistry.peachSaplingBlock, LeavesRegistry.peachCrop, Blocks.OAK_LEAVES, createGroup()));
        coconutSapling = registerItem(itemRegister, COCONUT_SAPLING, new CroptopiaSaplingItem(BlockRegistry.coconutSaplingBlock, LeavesRegistry.coconutCrop, Blocks.JUNGLE_LEAVES, createGroup()));
        nutmegSapling = registerItem(itemRegister, NUTMEG_SAPLING, new CroptopiaSaplingItem(BlockRegistry.nutmegSaplingBlock, LeavesRegistry.nutmegCrop, Blocks.JUNGLE_LEAVES, createGroup()));
        figSapling = registerItem(itemRegister, FIG_SAPLING, new CroptopiaSaplingItem(BlockRegistry.figSaplingBlock, LeavesRegistry.figCrop, Blocks.JUNGLE_LEAVES, createGroup()));
        nectarineSapling = registerItem(itemRegister, NECTARINE_SAPLING, new CroptopiaSaplingItem(BlockRegistry.nectarineSaplingBlock, LeavesRegistry.nectarineCrop, Blocks.OAK_LEAVES, createGroup()));
        mangoSapling = registerItem(itemRegister, MANGO_SAPLING, new CroptopiaSaplingItem(BlockRegistry.mangoSaplingBlock, LeavesRegistry.mangoCrop, Blocks.JUNGLE_LEAVES, createGroup()));
        dragonFruitSapling = registerItem(itemRegister, DRAGONFRUIT_SAPLING, new CroptopiaSaplingItem(BlockRegistry.dragonFruitSaplingBlock, LeavesRegistry.dragonFruitCrop, Blocks.JUNGLE_LEAVES, createGroup()));
        starFruitSapling = registerItem(itemRegister, STARFRUIT_SAPLING, new CroptopiaSaplingItem(BlockRegistry.starFruitSaplingBlock, LeavesRegistry.starFruitCrop, Blocks.OAK_LEAVES, createGroup()));
        avocadoSapling = registerItem(itemRegister, AVOCADO_SAPLING, new CroptopiaSaplingItem(BlockRegistry.avocadoSaplingBlock, LeavesRegistry.avocadoCrop, Blocks.OAK_LEAVES, createGroup()));
        apricotSapling = registerItem(itemRegister, APRICOT_SAPLING, new CroptopiaSaplingItem(BlockRegistry.apricotSaplingBlock, LeavesRegistry.apricotCrop, Blocks.OAK_LEAVES, createGroup()));
        pearSapling = registerItem(itemRegister, PEAR_SAPLING, new CroptopiaSaplingItem(BlockRegistry.pearSaplingBlock, LeavesRegistry.pearCrop, Blocks.OAK_LEAVES, createGroup()));
        limeSapling = registerItem(itemRegister, LIME_SAPLING, new CroptopiaSaplingItem(BlockRegistry.limeSaplingBlock, LeavesRegistry.limeCrop, Blocks.OAK_LEAVES, createGroup()));
        dateSapling = registerItem(itemRegister, DATE_SAPLING, new CroptopiaSaplingItem(BlockRegistry.dateSaplingBlock, LeavesRegistry.dateCrop, Blocks.JUNGLE_LEAVES, createGroup()));
        almondSapling = registerItem(itemRegister, ALMOND_SAPLING, new CroptopiaSaplingItem(BlockRegistry.almondSaplingBlock, LeavesRegistry.almondCrop, Blocks.DARK_OAK_LEAVES, createGroup()));
        cashewSapling = registerItem(itemRegister, CASHEW_SAPLING, new CroptopiaSaplingItem(BlockRegistry.cashewSaplingBlock, LeavesRegistry.cashewCrop, Blocks.DARK_OAK_LEAVES, createGroup()));
        pecanSapling = registerItem(itemRegister, PECAN_SAPLING, new CroptopiaSaplingItem(BlockRegistry.pecanSaplingBlock, LeavesRegistry.pecanCrop, Blocks.DARK_OAK_LEAVES, createGroup()));
        walnutSapling = registerItem(itemRegister, WALNUT_SAPLING, new CroptopiaSaplingItem(BlockRegistry.walnutSaplingBlock, LeavesRegistry.walnutCrop, Blocks.DARK_OAK_LEAVES, createGroup()));

        oliveOil = registerItem(itemRegister, OLIVE_OIL, new Item(createGroup()));
        cheese = registerItem(itemRegister, CHEESE, new Item(createGroup().food(EDIBLE_5)));
        flour = registerItem(itemRegister, FLOUR, new Item(createGroup()));
        butter = registerItem(itemRegister, BUTTER, new Item(createGroup().food(EDIBLE_3)));
        noodle = registerItem(itemRegister, NOODLE, new Item(createGroup()));
        tofu = registerItem(itemRegister, TOFU, new Item(createGroup().food(EDIBLE_5)));
        molasses = registerItem(itemRegister, MOLASSES, new Item(createGroup()));
        caramel = registerItem(itemRegister, CARAMEL, new Item(createGroup()));
        chocolate = registerItem(itemRegister, CHOCOLATE, new Item(createGroup().food(EDIBLE_5)));
        tortilla = registerItem(itemRegister, TORTILLA, new Item(createGroup().food(EDIBLE_3)));
        soySauce = registerItem(itemRegister, SOY_SAUCE, new Item(createGroup()));
        dough = registerItem(itemRegister, DOUGH, new Item(createGroup()));
        ravioli = registerItem(itemRegister, RAVIOLI, new Item(createGroup()));
        salsa = registerItem(itemRegister, SALSA, new Item(createGroup().food(EDIBLE_3)));
        artichokeDip = registerItem(itemRegister, ARTICHOKE_DIP, new Item(createGroup().food(EDIBLE_3)));
        pepperoni = registerItem(itemRegister, PEPPERONI, new Item(createGroup().food(EDIBLE_5)));


        grapeJuice = registerItem(itemRegister, GRAPE_JUICE, new Drink(createGroup().food(EDIBLE_5_BUILDER.alwaysEat().build()).craftRemainder(Items.GLASS_BOTTLE)));
        orangeJuice = registerItem(itemRegister, ORANGE_JUICE, new Drink(createGroup().food(EDIBLE_5_BUILDER.alwaysEat().build()).craftRemainder(Items.GLASS_BOTTLE)));
        appleJuice = registerItem(itemRegister, APPLE_JUICE, new Drink(createGroup().food(EDIBLE_5_BUILDER.alwaysEat().build()).craftRemainder(Items.GLASS_BOTTLE)));
        cranberryJuice = registerItem(itemRegister, CRANBERRY_JUICE, new Drink(createGroup().food(EDIBLE_5_BUILDER.alwaysEat().build()).craftRemainder(Items.GLASS_BOTTLE)));
        saguaroJuice = registerItem(itemRegister, SAGUARO_JUICE, new Drink(createGroup().food(EDIBLE_5_BUILDER.alwaysEat().build()).craftRemainder(Items.GLASS_BOTTLE)));
        tomatoJuice = registerItem(itemRegister, TOMATO_JUICE, new Drink(createGroup().food(EDIBLE_5_BUILDER.alwaysEat().build()).craftRemainder(Items.GLASS_BOTTLE)));
        melonJuice = registerItem(itemRegister, MELON_JUICE, new Drink(createGroup().food(EDIBLE_5_BUILDER.alwaysEat().build()).craftRemainder(Items.GLASS_BOTTLE)));
        pineappleJuice = registerItem(itemRegister, PINEAPPLE_JUICE, new Drink(createGroup().food(EDIBLE_5_BUILDER.alwaysEat().build()).craftRemainder(Items.GLASS_BOTTLE)));
        coffee = registerItem(itemRegister, COFFEE, new Drink(createGroup().food(EDIBLE_5_BUILDER.alwaysEat().build()).craftRemainder(Items.GLASS_BOTTLE)));
        lemonade = registerItem(itemRegister, LEMONADE, new Drink(createGroup().food(EDIBLE_5_BUILDER.alwaysEat().build()).craftRemainder(Items.GLASS_BOTTLE)));
        limeade = registerItem(itemRegister, LIMEADE, new Drink(createGroup().food(EDIBLE_5_BUILDER.alwaysEat().build()).craftRemainder(Items.GLASS_BOTTLE)));
        soyMilk = registerItem(itemRegister, SOY_MILK, new Drink(createGroup().food(EDIBLE_5_BUILDER.alwaysEat().build()).craftRemainder(Items.GLASS_BOTTLE)));
        strawberrySmoothie = registerItem(itemRegister, STRAWBERRY_SMOOTHIE, new Drink(createGroup().food(EDIBLE_7_BUILDER.alwaysEat().build())));
        bananaSmoothie = registerItem(itemRegister, BANANA_SMOOTHIE, new Drink(createGroup().food(EDIBLE_7_BUILDER.alwaysEat().build())));
        kaleSmoothie = registerItem(itemRegister, KALE_SMOOTHIE, new Drink(createGroup().food(EDIBLE_14_BUILDER.alwaysEat().build())));
        fruitSmoothie = registerItem(itemRegister, FRUIT_SMOOTHIE, new Drink(createGroup().food(EDIBLE_7_BUILDER.alwaysEat().build())));
        chocolateMilkshake = registerItem(itemRegister, CHOCOLATE_MILKSHAKE, new Drink(createGroup().food(EDIBLE_7_BUILDER.alwaysEat().build())));
        beer = registerItem(itemRegister, BEER, new Drink(createGroup().food(EDIBLE_7_BUILDER.alwaysEat().build())));
        wine = registerItem(itemRegister, WINE, new Drink(createGroup().food(EDIBLE_7_BUILDER.alwaysEat().build())));
        mead = registerItem(itemRegister, MEAD, new Drink(createGroup().food(EDIBLE_7_BUILDER.alwaysEat().build())));
        rum = registerItem(itemRegister, RUM, new Drink(createGroup().food(EDIBLE_7_BUILDER.alwaysEat().build()).craftRemainder(Items.GLASS_BOTTLE)));
        pumpkinSpiceLatte = registerItem(itemRegister, PUMPKIN_SPICE_LATTE, new Drink(createGroup().food(EDIBLE_14_BUILDER.alwaysEat().build())));
        grapeJam = registerItem(itemRegister, GRAPE_JAM, new Drink(createGroup().food(EDIBLE_3_BUILDER.alwaysEat().build())));
        strawberryJam = registerItem(itemRegister, STRAWBERRY_JAM, new Drink(createGroup().food(EDIBLE_3_BUILDER.alwaysEat().build())));
        peachJam = registerItem(itemRegister, PEACH_JAM, new Drink(createGroup().food(EDIBLE_3_BUILDER.alwaysEat().build())));
        apricotJam = registerItem(itemRegister, APRICOT_JAM, new Drink(createGroup().food(EDIBLE_3_BUILDER.alwaysEat().build())));
        blackberryJam = registerItem(itemRegister, BLACKBERRY_JAM, new Drink(createGroup().food(EDIBLE_3_BUILDER.alwaysEat().build())));
        blueberryJam = registerItem(itemRegister, BLUEBERRY_JAM, new Drink(createGroup().food(EDIBLE_3_BUILDER.alwaysEat().build())));
        cherryJam = registerItem(itemRegister, CHERRY_JAM, new Drink(createGroup().food(EDIBLE_3_BUILDER.alwaysEat().build())));
        elderberryJam = registerItem(itemRegister, ELDERBERRY_JAM, new Drink(createGroup().food(EDIBLE_3_BUILDER.alwaysEat().build())));
        raspberryJam = registerItem(itemRegister, RASPBERRY_JAM, new Drink(createGroup().food(EDIBLE_3_BUILDER.alwaysEat().build())));

        beefJerky = registerItem(itemRegister, BEEF_JERKY, new Item(createGroup().food(EDIBLE_5)));
        porkJerky = registerItem(itemRegister, PORK_JERKY, new Item(createGroup().food(EDIBLE_5)));
        kaleChips = registerItem(itemRegister, KALE_CHIPS, new Item(createGroup().food(EDIBLE_5)));
        potatoChips = registerItem(itemRegister, POTATO_CHIPS, new Item(createGroup().food(EDIBLE_5)));
        steamedRice = registerItem(itemRegister, STEAMED_RICE, new Item(createGroup().food(EDIBLE_5)));
        frenchFries = registerItem(itemRegister, FRENCH_FRIES, new Item(createGroup().food(EDIBLE_5)));
        sweetPotatoFries = registerItem(itemRegister, SWEET_POTATO_FRIES, new Item(createGroup().food(EDIBLE_5)));
        onionRings = registerItem(itemRegister, ONION_RINGS, new Item(createGroup().food(EDIBLE_5)));
        raisins = registerItem(itemRegister, RAISINS, new Item(createGroup().food(EDIBLE_3)));
        doughnut = registerItem(itemRegister, DOUGHNUT, new Item(createGroup().food(EDIBLE_5)));
        popcorn = registerItem(itemRegister, POPCORN, new Item(createGroup().food(EDIBLE_3)));
        bakedBeans = registerItem(itemRegister, BAKED_BEANS, new Item(createGroup().food(EDIBLE_5)));
        toast = registerItem(itemRegister, TOAST, new Item(createGroup().food(EDIBLE_7)));
        cucumberSalad = registerItem(itemRegister, CUCUMBER_SALAD, new CroptopiaSoupItem(createGroup().food(EDIBLE_10)));
        caesarSalad = registerItem(itemRegister, CAESAR_SALAD, new CroptopiaSoupItem(createGroup().food(EDIBLE_10)));
        leafySalad = registerItem(itemRegister, LEAFY_SALAD, new CroptopiaSoupItem(createGroup().food(EDIBLE_10)));
        fruitSalad = registerItem(itemRegister, FRUIT_SALAD, new CroptopiaSoupItem(createGroup().food(EDIBLE_10)));
        veggieSalad = registerItem(itemRegister, VEGGIE_SALAD, new CroptopiaSoupItem(createGroup().food(EDIBLE_10)));
        porkAndBeans = registerItem(itemRegister, PORK_AND_BEANS, new CroptopiaSoupItem(createGroup().food(EDIBLE_10)));
        oatmeal = registerItem(itemRegister, OATMEAL, new CroptopiaSoupItem(createGroup().food(EDIBLE_7)));
        leekSoup = registerItem(itemRegister, LEEK_SOUP, new CroptopiaSoupItem(createGroup().food(EDIBLE_7)));
        yoghurt = registerItem(itemRegister, YOGHURT, new CroptopiaSoupItem(createGroup().food(EDIBLE_5)));
        saucyChips = registerItem(itemRegister, SAUCY_CHIPS, new CroptopiaSoupItem(createGroup().food(EDIBLE_7)));
        roastedNuts = registerItem(itemRegister, ROASTED_NUTS, new Item(createGroup().food(EDIBLE_5)));
        trailMix = registerItem(itemRegister, TRAIL_MIX, new Item(createGroup().food(EDIBLE_10)));
        proteinBar = registerItem(itemRegister, PROTEIN_BAR, new Item(createGroup().food(EDIBLE_10)));
        nougat = registerItem(itemRegister, NOUGAT, new Item(createGroup().food(EDIBLE_7)));

        scrambledEggs = registerItem(itemRegister, SCRAMBLED_EGGS, new Item(createGroup().food(EDIBLE_7)));
        butteredToast = registerItem(itemRegister, BUTTERED_TOAST, new Item(createGroup().food(EDIBLE_9)));
        toastWithJam = registerItem(itemRegister, TOAST_WITH_JAM, new Item(createGroup().food(EDIBLE_9)));

        hamSandwich = registerItem(itemRegister, HAM_SANDWICH, new Item(createGroup().food(EDIBLE_10)));
        peanutButterAndJam = registerItem(itemRegister, PEANUT_BUTTER_AND_JAM, new Item(createGroup().food(EDIBLE_10)));
        BLT = registerItem(itemRegister, ItemNames.BLT, new Item(createGroup().food(EDIBLE_10)));
        grilledCheese = registerItem(itemRegister, GRILLED_CHEESE, new Item(createGroup().food(EDIBLE_7)));
        tunaSandwich = registerItem(itemRegister, TUNA_SANDWICH, new Item(createGroup().food(EDIBLE_10)));
        cheeseburger = registerItem(itemRegister, CHEESEBURGER, new Item(createGroup().food(EDIBLE_10)));
        hamburger = registerItem(itemRegister, HAMBURGER, new Item(createGroup().food(EDIBLE_10)));
        tofuBurger = registerItem(itemRegister, TOFUBURGER, new Item(createGroup().food(EDIBLE_10)));
        pizza = registerItem(itemRegister, PIZZA, new Item(createGroup().food(EDIBLE_10)));
        supremePizza = registerItem(itemRegister, SUPREME_PIZZA, new Item(createGroup().food(EDIBLE_18)));
        cheesePizza = registerItem(itemRegister, CHEESE_PIZZA, new Item(createGroup().food(EDIBLE_14)));
        pineapplePepperoniPizza = registerItem(itemRegister, PINEAPPLE_PEPPERONI_PIZZA, new Item(createGroup().food(EDIBLE_18)));
        lemonChicken = registerItem(itemRegister, LEMON_CHICKEN, new Item(createGroup().food(EDIBLE_10)));
        friedChicken = registerItem(itemRegister, FRIED_CHICKEN, new Item(createGroup().food(EDIBLE_10)));
        chickenAndNoodles = registerItem(itemRegister, CHICKEN_AND_NOODLES, new Item(createGroup().food(EDIBLE_10)));
        chickenAndDumplings = registerItem(itemRegister, CHICKEN_AND_DUMPLINGS, new Item(createGroup().food(EDIBLE_10)));
        tofuAndDumplings = registerItem(itemRegister, TOFU_AND_DUMPLINGS, new Item(createGroup().food(EDIBLE_14)));
        spaghettiSquash = registerItem(itemRegister, SPAGHETTI_SQUASH, new Item(createGroup().food(EDIBLE_10)));
        chickenAndRice = registerItem(itemRegister, CHICKEN_AND_RICE, new Item(createGroup().food(EDIBLE_10)));
        taco = registerItem(itemRegister, TACO, new Item(createGroup().food(EDIBLE_10)));
        sushi = registerItem(itemRegister, SUSHI, new Item(createGroup().food(EDIBLE_10)));
        eggRoll = registerItem(itemRegister, EGG_ROLL, new Item(createGroup().food(EDIBLE_10)));
        cashewChicken = registerItem(itemRegister, CASHEW_CHICKEN, new Item(createGroup().food(EDIBLE_14)));

        applePie = registerItem(itemRegister, APPLE_PIE, new Item(createGroup().food(EDIBLE_14)));
        yamJam = registerItem(itemRegister, YAM_JAM, new Item(createGroup().food(EDIBLE_14)));
        bananaCreamPie = registerItem(itemRegister, BANANA_CREAM_PIE, new Item(createGroup().food(EDIBLE_14)));
        candyCorn = registerItem(itemRegister, CANDY_CORN, new Item(createGroup().food(EDIBLE_5)));
        vanillaIceCream = registerItem(itemRegister, VANILLA_ICE_CREAM, new Item(createGroup().food(EDIBLE_10)));
        strawberryIceCream = registerItem(itemRegister, STRAWBERRY_ICE_CREAM, new Item(createGroup().food(EDIBLE_10)));
        mangoIceCream = registerItem(itemRegister, MANGO_ICE_CREAM, new Item(createGroup().food(EDIBLE_10)));
        rumRaisinIceCream = registerItem(itemRegister, RUM_RAISIN_ICE_CREAM, new Item(createGroup().food(EDIBLE_14)));
        pecanIceCream = registerItem(itemRegister, PECAN_ICE_CREAM, new Item(createGroup().food(EDIBLE_10)));
        cherryPie = registerItem(itemRegister, CHERRY_PIE, new Item(createGroup().food(EDIBLE_14)));
        cheeseCake = registerItem(itemRegister, CHEESE_CAKE, new Item(createGroup().food(EDIBLE_14)));
        brownies = registerItem(itemRegister, BROWNIES, new Item(createGroup().food(EDIBLE_10)));
        snickerDoodle = registerItem(itemRegister, SNICKER_DOODLE, new Item(createGroup().food(EDIBLE_7)));
        bananaNutBread = registerItem(itemRegister, BANANA_NUT_BREAD, new Item(createGroup().food(EDIBLE_10)));
        pecanPie = registerItem(itemRegister, PECAN_PIE, new Item(createGroup().food(EDIBLE_14)));
        candiedNuts = registerItem(itemRegister, CANDIED_NUTS, new Item(createGroup().food(EDIBLE_5)));
        almondBrittle = registerItem(itemRegister, ALMOND_BRITTLE, new Item(createGroup().food(EDIBLE_7)));
        oatmealCookie = registerItem(itemRegister, RAISIN_OATMEAL_COOKIE, new Item(createGroup().food(EDIBLE_5)));
        nuttyCookie = registerItem(itemRegister, NUTTY_COOKIE, new Item(createGroup().food(EDIBLE_5)));
        //praline = registerItem(itemRegister, ItemNames.PRA)

        burrito = registerItem(itemRegister, BURRITO, new Item(createGroup().food(EDIBLE_10)));
        tostada = registerItem(itemRegister, TOSTADA, new Item(createGroup().food(EDIBLE_10)));
        horchata = registerItem(itemRegister, HORCHATA, new Item(createGroup().food(EDIBLE_10)));
        carnitas = registerItem(itemRegister, CARNITAS, new Item(createGroup().food(EDIBLE_10)));
        fajitas = registerItem(itemRegister, FAJITAS, new Item(createGroup().food(EDIBLE_10)));
        enchilada = registerItem(itemRegister, ENCHILADA, new Item(createGroup().food(EDIBLE_10)));
        churros = registerItem(itemRegister, CHURROS, new Item(createGroup().food(EDIBLE_5)));
        tamales = registerItem(itemRegister, TAMALES, new Item(createGroup().food(EDIBLE_14)));
        tresLecheCake = registerItem(itemRegister, TRES_LECHE_CAKE, new Item(createGroup().food(EDIBLE_18)));
        stuffedPoblanos = registerItem(itemRegister, STUFFED_POBLANOS, new Item(createGroup().food(EDIBLE_14)));
        chiliRelleno = registerItem(itemRegister, CHILI_RELLENO, new Item(createGroup().food(EDIBLE_14)));
        crema = registerItem(itemRegister, CREMA, new Item(createGroup().food(EDIBLE_3)));
        refriedBeans = registerItem(itemRegister, REFRIED_BEANS, new Item(createGroup().food(EDIBLE_7)));
        chimichanga = registerItem(itemRegister, CHIMICHANGA, new Item(createGroup().food(EDIBLE_14)));
        quesadilla = registerItem(itemRegister, QUESADILLA, new Item(createGroup().food(EDIBLE_10)));

        cinnamon = registerItem(itemRegister, CINNAMON, new Item(createGroup()));
        cornHusk = registerItem(itemRegister, CORN_HUSK, new Item(createGroup()));
        whippingCream = registerItem(itemRegister, WHIPPING_CREAM, new Item(createGroup()));
        pepper = registerItem(itemRegister, PEPPER, new Item(createGroup()));
        vanillaSeeds = registerItem(itemRegister, VANILLA_SEEDS, new SeedItem(BlockRegistry.vanillaCropBlock, createGroup(), JUNGLE));

        cinnamonSapling = registerItem(itemRegister, CINNAMON_SAPLING, new ItemNameBlockItem(BlockRegistry.cinnamonSaplingBlock, createGroup()));
        cinnamonLog = registerItem(itemRegister, CINNAMON_LOG, new ItemNameBlockItem(BlockRegistry.cinnamonLog, createGroup()));
        strippedCinnamonLog = registerItem(itemRegister, STRIPPED_CINNAMON_LOG, new ItemNameBlockItem(BlockRegistry.strippedCinnamonLog, createGroup()));
        cinnamonWood = registerItem(itemRegister, CINNAMON_WOOD, new ItemNameBlockItem(BlockRegistry.cinnamonWood, createGroup()));
        strippedCinnamonWood = registerItem(itemRegister, STRIPPED_CINNAMON_WOOD, new ItemNameBlockItem(BlockRegistry.strippedCinnamonWood, createGroup()));

        shepherdsPie = registerItem(itemRegister, SHEPHERDS_PIE, new Item(createGroup().food(EDIBLE_18)));
        beefWellington = registerItem(itemRegister, BEEF_WELLINGTON, new Item(createGroup().food(EDIBLE_18)));
        fishAndChips = registerItem(itemRegister, FISH_AND_CHIPS, new Item(createGroup().food(EDIBLE_10)));
        etonMess = registerItem(itemRegister, ETON_MESS, new Item(createGroup().food(EDIBLE_10)));
        tea = registerItem(itemRegister, TEA, new Item(createGroup().food(EDIBLE_5_BUILDER.alwaysEat().build())));
        cornishPasty = registerItem(itemRegister, CORNISH_PASTY, new Item(createGroup().food(EDIBLE_10)));
        scones = registerItem(itemRegister, SCONES, new Item(createGroup().food(EDIBLE_10)));
        figgyPudding = registerItem(itemRegister, FIGGY_PUDDING, new Item(createGroup().food(EDIBLE_10)));
        treacleTart = registerItem(itemRegister, TREACLE_TART, new Item(createGroup().food(EDIBLE_10)));
        stickyToffeePudding = registerItem(itemRegister, STICKY_TOFFEE_PUDDING, new Item(createGroup().food(EDIBLE_14)));
        trifle = registerItem(itemRegister, TRIFLE, new Item(createGroup().food(EDIBLE_14)));
        pepperSeed = registerItem(itemRegister, PEPPER_SEED, new SeedItem(BlockRegistry.pepperCropBlock, createGroup(), PLAINS));
        waterBottle = registerItem(itemRegister, WATER_BOTTLE, new Item(createGroup()));
        milkBottle = registerItem(itemRegister, MILK_BOTTLE, new Item(createGroup()));
        teaLeaves = registerItem(itemRegister, TEA_LEAVES, new Item(createGroup()));
        teaSeed = registerItem(itemRegister, TEA_SEED, new SeedItem(BlockRegistry.teaCropBlock, createGroup(), FOREST));

        ajvar = registerItem(itemRegister, AJVAR, new Item(createGroup().food(EDIBLE_7)));
        ajvarToast = registerItem(itemRegister, AJVAR_TOAST, new Item(createGroup().food(EDIBLE_14)));
        avocadoToast = registerItem(itemRegister, AVOCADO_TOAST, new Item(createGroup().food(EDIBLE_10)));
        bakedSweetPotato = registerItem(itemRegister, BAKED_SWEET_POTATO, new Item(createGroup().food(EDIBLE_7)));
        bakedYam = registerItem(itemRegister, BAKED_YAM, new Item(createGroup().food(EDIBLE_7)));
        beefStew = registerItem(itemRegister, BEEF_STEW, new Item(createGroup().food(EDIBLE_14)));
        beefStirFry = registerItem(itemRegister, BEEF_STIR_FRY, new Item(createGroup().food(EDIBLE_14)));
        butteredGreenBeans = registerItem(itemRegister, BUTTERED_GREEN_BEANS, new Item(createGroup().food(EDIBLE_10)));
        cheesyAsparagus = registerItem(itemRegister, CHEESY_ASPARAGUS, new Item(createGroup().food(EDIBLE_10)));
        chocolateIceCream = registerItem(itemRegister, CHOCOLATE_ICE_CREAM, new Item(createGroup().food(EDIBLE_14)));
        cookedBacon = registerItem(itemRegister, COOKED_BACON, new Item(createGroup().food(EDIBLE_7)));
        eggplantParmesan = registerItem(itemRegister, EGGPLANT_PARMESAN, new Item(createGroup().food(EDIBLE_18)));
        fruitCake = registerItem(itemRegister, FRUIT_CAKE, new Item(createGroup().food(EDIBLE_10)));
        grilledEggplant = registerItem(itemRegister, GRILLED_EGGPLANT, new Item(createGroup().food(EDIBLE_10)));
        kiwiSorbet = registerItem(itemRegister, KIWI_SORBET, new Item(createGroup().food(EDIBLE_7)));
        knife = registerItem(itemRegister, KNIFE, new CookingUtensil(createGroup().stacksTo(1)));
        lemonCoconutBar = registerItem(itemRegister, LEMON_COCONUT_BAR, new Item(createGroup().food(EDIBLE_7)));
        netherWartStew = registerItem(itemRegister, NETHER_WART_STEW, new Item(createGroup().food(EDIBLE_7)));
        peanutButter = registerItem(itemRegister, PEANUT_BUTTER, new Item(createGroup().food(EDIBLE_5)));
        peanutButterWCelery = registerItem(itemRegister, PEANUT_BUTTER_W_CELERY, new Item(createGroup().food(EDIBLE_7)));
        potatoSoup = registerItem(itemRegister, POTATO_SOUP, new Item(createGroup().food(EDIBLE_10)));
        ratatouille = registerItem(itemRegister, RATATOUILLE, new Item(createGroup().food(EDIBLE_18)));
        rawBacon = registerItem(itemRegister, RAW_BACON, new Item(createGroup().food(EDIBLE_1)));
        rhubarbCrisp = registerItem(itemRegister, RHUBARB_CRISP, new Item(createGroup().food(EDIBLE_10)));
        roastedAsparagus = registerItem(itemRegister, ROASTED_ASPARAGUS, new Item(createGroup().food(EDIBLE_7)));
        roastedRadishes = registerItem(itemRegister, ROASTED_RADISHES, new Item(createGroup().food(EDIBLE_7)));
        roastedSquash = registerItem(itemRegister, ROASTED_SQUASH, new Item(createGroup().food(EDIBLE_7)));
        roastedTurnips = registerItem(itemRegister, ROASTED_TURNIPS, new Item(createGroup().food(EDIBLE_7)));
        steamedBroccoli = registerItem(itemRegister, STEAMED_BROCCOLI, new Item(createGroup().food(EDIBLE_7)));
        steamedGreenBeans = registerItem(itemRegister, STEAMED_GREEN_BEANS, new Item(createGroup().food(EDIBLE_7)));
        stirFry = registerItem(itemRegister, STIR_FRY, new Item(createGroup().food(EDIBLE_18)));
        stuffedArtichoke = registerItem(itemRegister, STUFFED_ARTICHOKE, new Item(createGroup().food(EDIBLE_18)));
        toastSandwich = registerItem(itemRegister, TOAST_SANDWICH, new Item(createGroup().food(EDIBLE_10)));

        // the utensils override the getContainerItem in the CookingUtensil class
        foodPress = registerItem(itemRegister, FOOD_PRESS, new CookingUtensil(createGroup().stacksTo(1)));
        fryingPan = registerItem(itemRegister, FRYING_PAN, new CookingUtensil(createGroup().stacksTo(1)));
        cookingPot = registerItem(itemRegister, COOKING_POT, new CookingUtensil(createGroup().stacksTo(1)));
        mortarAndPestle = registerItem(itemRegister, MORTAR_AND_PESTLE, new CookingUtensil(createGroup().stacksTo(1)));

        saltOre = registerItem(itemRegister, SALT_ORE, new ItemNameBlockItem(BlockRegistry.salt, createGroup()));
    }

    public static Item.Properties createGroup() {
        return new Item.Properties().tab(CROPTOPIA_ITEM_GROUP);
    }
}
